package xin.vsftpd.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * <pre>
 * vsftpd 传输日志
 * </pre>
 *
 * @author lixin_ma@outlook.com
 * @version 1.0
 * @since 2019/6/27
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TransLogInfo implements Serializable {
	
	/** FTP传输时间 */
	private Date transDate;
	
	/** 传输文件所用时间。单位/秒 */
	private String cost;
	
	/** ftp客户端IP */
	private String clientIp;
	
	/** 传输文件大小。单位/Byte */
	private String fileSize;
	
	/** 传输文件名，包含路径,相对于用户的root目录 */
	private String fileName;
	
	/** 传输方式： a以ASCII方式传输; b以二进制(binary)方式传输 */
	private String type;
	
	/** 特殊处理标志位："_"不做任何处理;"C"文件是压缩格式;"U"文件非压缩格式;"T"文件是tar格式 */
	private String operate;
	
	/** 传输方向："i"上传；"o"下载 */
	private String direction;
	
	/** 用户访问模式：“a”匿名用户；"g"访客模式；"r"系统中用户 */
	private String mode;
	
	/** 登录用户名 */
	private String username;
	
	/** 服务名称 */
	private String service;
	
	/** 认证方式：0无；1RFC931认证 */
	private String auth;
	
	/** 认证用户id，"*"表示无法获取id */
	private String uid;
	
	/** 完成状态：i传输未完成;"c"传输已完成 */
	private String state;
}
